import request from '@/utils/request'
import { SetRoleVO } from '@/model/auth/SetRoleVO'
import { SetRoleDTO } from '@/model/auth/SetRoleDTO'
import { PageDate } from '@/model'
import { RoleDTO } from '@/model/auth/RoleDTO'

/**
 * 获取用户选中的角色
 * @param userId
 */
export function listByUserId(userId: number): Promise<Array<SetRoleVO>> {
  return request.get('/api/auth/role/listByUserId', {
    userId,
  })
}

/**
 * 修改用户选中的角色
 * @param data
 */
export function updateUserRole(data: SetRoleDTO) {
  return request.put('/api/auth/role/updateUserRole', data)
}

/**
 * 分页查询角色
 */
export function pageRole(params :{}): Promise<PageDate<RoleDTO>> {
  return request.get('/api/auth/role/page', params)
}

/**
 * 保存角色
 */
export function saveRole(data: RoleDTO) {
  return request.post('/api/auth/role', data)
}

/**
 * 修改角色
 * @param data
 */
export function updateRole(data: RoleDTO) {
  return request.put(`/api/auth/role/${data.id}`, data)
}

/**
 * 删除角色
 * @param id
 */
export function removeRole(id: number) {
  return request.delete(`/api/auth/role/${id}`)
}
